<?php

Loader::using("models::entities::EntrevistasRespondidas");

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Entrevistas
 *
 * @author EArzuza
 * @export Modules
 * @export-metadata RequiredRoles:ROLE_REGISTERED
 */
class _Entrevistas extends Module {

    public function index() {
        $this->assign("preguntas", $this->model->admisiones->GetPreguntas());
        $this->assign("action", $this->route->action("save"));
        $this->display();
    }

    public function save() {
        $respuestas = $this->request->post("preguntas");
        $idInscrito = $this->currentUser->getName();
        
        $this->PseudoBind($respuestas, $idInscrito);
        
        /* @var $inscrito Inscritos */
        $inscrito = $this->model->admisiones->GetById($idInscrito);
        $inscrito->setHizoEntrevista(true);
        $inscrito->setFechaEntrevista(date("Y-m-d"));
        
        $this->model->admisiones->Update($inscrito);
        
        $this->sendMail($inscrito);
        
        $this->addMessage(new Message("Se a Completado la entrevista satisfactoriamente.", "", Message::SUCCESS));
        
        $this->display();
        
    }

    //TODO: no le cuentes a tus hijos
    private function PseudoBind($respuestas, $idInscrito) {
        foreach ($respuestas as $data => $value) {
            $entity = new EntrevistaRespondida();
            $entity->setIdInscrito($idInscrito);

            $pregunta = new Preguntas();
            $pregunta->setIdEntrevista($data);

            $entity->setPregunta($pregunta);
            $entity->setRespuesta($value);
            
            $this->model->interview->Create($entity);
        }
        

    }
    
     private function sendMail(Inscritos $incrito) {
        $emails = array();
        array_push($emails, $incrito->getEmail());
        
        $params = array();
        
        $nombreCompleto = "$incrito->getApellidos(), $incrito->getNombres()";
        
        array_push($params, $nombreCompleto);
        array_push($params, "");
        array_push($params, $incrito->getFechaInscripcion());
        
        /* @var $planEstudio PlanesEstudios */
        $planEstudio = $this->model->career->getById($incrito->getPlanEstudio());
        
        array_push($params, $planEstudio->getNombrePlan());
        

        EmailsAdmisiones::SendMail(2, $emails, $params);
    }
  
}

?>
